package opf5.entities.dominio;

import java.util.List;

import opf5.entities.partidos.EstadoEquiposConfirmados;
import opf5.entities.partidos.EstadoPartido;
import opf5.utilidades.Fecha;

public interface Partido {

	public abstract int cantidadJugadoresInscriptos();

	public abstract void inscribir(Inscripcion nuevaInscripcion);

	public abstract boolean estaInscripto(Jugador unJugador);

	public abstract boolean hayLugar();

	public abstract List<Inscripcion> getInscripciones();

	public abstract void darDeBajaSinReemplazo(Jugador unJugador);

	public abstract void darDeBajaConReemplazo(Jugador unJugador,
			Jugador otroJugador);

	public void confirmarEquipos(Equipo equipo1, Equipo equipo2);
	
	public List<Equipo> getEquipos();
	
	public void setResultado(int golesEquipo1, int golesEquipo2);
	
	public int[] getResultados();

	public abstract Fecha getFechaPartido();

	public abstract String getLugar();

	public abstract void setFechaPartido(Fecha fecha);

	public abstract void setLugarPartido(String lugar);
	
	public abstract EstadoPartido getEstado();
	
	public abstract boolean estaTerminado();

	public abstract void setEstado(EstadoPartido estado);

	public abstract void setInscripciones(List<Inscripcion> inscripciones);

	public abstract void setEquipo(int numero, Equipo equipo);
}